﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TA.Win.Utils.Design
{
	/// <summary>
	/// Contains properties which control how a <see cref="StringCollectionDialog"/> operates.
	/// </summary>
	public class StringOptions
	{
		#region PUBLIC
		#region INIT
		/// <summary>
		/// Ctor.
		/// </summary>
		public StringOptions()
		{
			this.Options = new string[0];
			this.CustomValueAllowed = true;
			this.DuplicatesAllowed = true;
			this.ValueComparison = StringComparison.InvariantCulture;
		}
		#endregion
		#region EVENTS
		#endregion
		#region PROPS
		/// <summary>
		/// Gets or sets the list of string values to be displayed in the combo box.
		/// </summary>
		public string[] Options { get; set; }
		/// <summary>
		/// Gets or sets a flag which indicates if user can type custom values in to the combo box.
		/// </summary>
		public bool CustomValueAllowed { get; set; }
		/// <summary>
		/// Gets or sets a flag which indicates if user can add same string value twice.
		/// </summary>
		public bool DuplicatesAllowed { get; set; }
		/// <summary>
		/// Gets or sets a value which indicates how string comparison is performed.
		/// </summary>
		/// <remarks>
		/// This is used, for ex., when determining if a value is duplicated.
		/// </remarks>
		public StringComparison ValueComparison { get; set; }
		#endregion
		#region METHODS
		#endregion
		#endregion
		#region INTERNAL
		#region CONST/STATIC
		#endregion
		#region VARS
		#endregion
		#region PROPS
		#endregion
		#region METHODS
		#region INIT
		#endregion
		#region DATA
		#endregion
		#region HANDLERS
		#endregion
		#endregion
		#endregion				
				
	}
}
